Skip to content

fix(ci): green main — pnpm shim launch, replay head snapshots, workspace-free published manifest - #183

Merged
ScriptedAlchemy merged 1 commit into
mainfrom
fix/hosted-ci-red
Sep 1, 2026
Merged

fix(ci): green main — pnpm shim launch, replay head snapshots, workspace-free published manifest#183
ScriptedAlchemy merged 1 commit into
mainfrom
fix/hosted-ci-red

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

Summary

Hosted CI on main has been red across three independent failure classes; this makes the post-merge safety net green again.

  1. Examples check infra failureCannot find module '.../pnpm': scripts/run-examples-check.mjs launched npm_execpath through the current Node executable, but pnpm/setup on hosted runners exposes pnpm as a native shim / bare command name rather than a JavaScript entrypoint, so node pnpm failed with MODULE_NOT_FOUND before any example check ran. The script now execs non-JavaScript entrypoints directly (verified against absolute-shim and bare-name shapes; the corepack JS path is covered by examples-check-script.test.ts).

  2. Runtime playground e2e failing on every Node line (not the flake: track remaining dev-watcher and MCP App gate failures #122 flake family — deterministic): the sqlite migration (feat(state): #98 v1 node:sqlite workspace-durable driver + example migration (PR-2) #149) changed the example kernel to return the durable prefix at the original commit revision on idempotent replays, where the retired JSONL kernel returned the current head. Re-running the seeded fixture after a reset replays the input-derived idempotency key and reported the pre-reset state version (1 instead of 2), failing runtime-playground.e2e.test.ts > resets the selected Claude fixture… on Node 22/24/26. Replays now read the head snapshot again; fresh commits keep the exact commit revision.

  3. Release gates: feat(test): route-unit consumer test harness (#103 stage 1) #151 added "@agent-bundle/runtime": "workspace:*" to the published agent-bundle devDependencies, tripping the release audit (release-audit.test.ts forbids workspace: in the shipped manifest because npm refuses such tarballs). The optional peer is now satisfied through a pnpm-workspace.yaml override instead of a shipped range, so auto-install-peers links the workspace package without touching the registry.

Test plan

  • pnpm build, pnpm typecheck, pnpm lint clean
  • runtime-playground.e2e.test.ts -t 'resets the selected Claude fixture' passes (previously red)
  • node scripts/run-packed-tests.mjs packages/agent-bundle/tests/release-audit.test.ts — all 4 pass (previously 2 red)
  • examples-check-script.test.ts, test-harness-manifest.test.ts, example state-and-definition.test.ts pass
  • Simulated non-JS pnpm shim (absolute path and bare name) through run-examples-check.mjs
  • Watch the post-merge main run for the previously failing jobs

…ots, workspace-free published manifest

Three independent breakages kept hosted CI red on main:

- scripts/run-examples-check.mjs launched npm_execpath through the current
  Node executable, but pnpm/setup on hosted runners exposes a native shim
  (bare command name), so `node pnpm` failed with MODULE_NOT_FOUND. The
  script now execs non-JavaScript entrypoints directly.
- The sqlite migration (#149) made the example kernel return the durable
  prefix at the original commit revision on idempotent replays; the retired
  JSONL kernel returned the current head. Re-running a fixture after a reset
  therefore reported the pre-reset state version and failed the runtime
  playground e2e on every Node line. Replays now read the head again.
- #151 added `"@agent-bundle/runtime": "workspace:*"` to the published
  agent-bundle devDependencies, tripping the release audit (npm refuses
  tarball manifests with workspace ranges). The optional peer is now
  satisfied through a pnpm-workspace override instead of a shipped range.
@changeset-bot

changeset-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 301ac9a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-01T19:53:15.894283Z 301ac9a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant